僵尸网络浅析(2)
僵尸网络命令控制信道
僵尸网络最为关键的攻击链路为命令和控制信道(C&C Channel)。命令和控制信道的作用是实现控制者和僵尸主机之间的信息交互和传递。命令和控制信道也决定了僵尸网络的命令和控制效率以及健壮性。一旦命令和控制信道出现故障,攻击者将会失去对僵尸网络的控制。因此命令和控制信道是攻防双方争夺控制权的关键点。随着攻防对抗的升级,攻击者也在提升僵尸网络在健壮性方面的积极发挥。僵尸网络命令和控制信道主要在拓扑结构和命令控制协议两方面体现。
僵尸网络拓扑结构
僵尸网络的拓扑结构是命令信道的基本属性之一,拓扑结构和僵尸网络的层析划分和通信机制有直接关联。一般而言,僵尸网络的拓扑结构可划分为纯中心结构、纯P2P结构以及混合结构三类。
图1 纯中心结构僵尸网络
图1为纯中心结构僵尸网络,纯中心结构僵尸网络一般采用客户端-服务器模式(CS模式),僵尸主机主动向C&C服务器发起请求。控制者通过C&C服务器向僵尸主机下发控制命令及资源。按照寻址方式,纯中心结构僵尸网络又可以分为静态中心结构和动态中心结构。“静态”指的是C&C服务器的IP地址或者域名是静态不变的,通常硬编码在僵尸程序里。“动态”是指C&C服务器的IP地址或者域名是动态变化的,通常是算法生成,而算法被编码到僵尸程序内,如DGA僵尸网络。
图2 纯P2P结构僵尸网络
图2为纯P2P结构僵尸网络,该类型僵尸网络可以很好解决纯中心结构僵尸网络单点失败的问题。纯P2P结构僵尸网络中的僵尸主机均扮演着服务器和客户端的角色。一旦其中某个节点被识别和封堵,其他的节点依然可以作为资源提供者及信息的传递者,其不依赖脆弱性中心节点的特性使其难以被劫持、测量和关闭。因此,P2P结构的僵尸网络的健壮性更强,抗击打能力更强。
图3 混合结构僵尸网络
图3为混合结构僵尸网络,一般说来,混合结构僵尸网络是纯中心结构僵尸网络和纯P2P结构僵尸网络的结合,同时具有中心结构和P2P结构,如图3中左图为整体上呈现中心结构,而上半部分为P2P结构,下半部分为C/S结构。图3中右图为整体上呈现P2P结构,而在局部呈现C/S结构。
僵尸网络命令控制协议
僵尸网络常见的命令控制协议包括IRC协议、HTTP协议、P2P协议等。基于IRC协议的僵尸网络是最早出现的僵尸网络。该协议最为简单,控制者可借助公共IRC聊天室实时下发命令,具有较高的通信效率。IRC僵尸网络命令控制实现过程主要分为几个阶段,首先控制者在IRC服务器中创建一个聊天室,然后僵尸程序根据硬编码的地址信息加入聊天室,等待控制者下发的命令。命令的发布主要有Topic方式和Privmsg方式。Topic方式主要是僵尸程序接收聊天室频道的公告信息,获取命令,而Privmsg方式为控制者通过一对一或一对多方式向僵尸主机发布指令。
HTTP协议具有很好的穿透性,能穿透防火墙、IDS,基于HTTP协议的C&C协议可以混杂在正常的HTTP请求流量中不易被发现,命令下发延迟低,支持对通信内容的加密。因此攻击者也大量使用HTTP协议作为僵尸网络控制命令协议之一。在控制者下发命令时,会事先将命令内容发布在指定的Web网页中,僵尸程序会根据硬编码的地址请求获取。在实现信息回传时,僵尸程序通过Post方式将本机信息如bot ID、IP地址、MAC地址、操作系统、窃密信息等发送给控制者。传统的HTTP僵尸网络大多采用静态寻址方式,C&C信道很容易被防御人员识别和阻断。基于该事实,攻击者尝试使用动态访问机制来提升僵尸网络控制命令信道的健壮性,代表性的改进协议或机制有Fast-Flux和Domain-Flux。Fast-Flux基于多个IP和单一域名之间映射关系的快速切换来实现,可以隐藏恶意资源和钓鱼网站的真实IP。Domain-Flux的本质是多域名到单个IP之间的动态映射。实现的核心为域名生成算法(DGA)。
P2P僵尸网络可以分为结构化P2P和非结构化P2P,结构化P2P僵尸网络基于结构化P2P协议实现,采用基于分布式Hash表的Overnet协议,在获取命令时僵尸程序以日期和随机数(0-31)作为输入,通过算法生成32个不同hash key,通过P2P网络查询这些hash key值获取控制者指令。非结构化P2P僵尸网络内的僵尸主机间以无结构化方式进行连接。具体地,包含泛洪方式,即Random思想的Sinit僵尸网络随机生成Ipv4地址并逐一对其进行访问验证,也包含交换方式,即每个僵尸主机维护一份包含节点信息的peer list,定期随机挑选其中的部分节点进行通信,获取攻击者指令和更新节点信息。基于P2P协议的僵尸网络在健壮性方面较基于IRC和HTTP协议的僵尸网络有所改进,但是其控制和命令过程仍存在问题,如命令认证的不完备,容易受到索引污染以及Sybil攻击,也就是P2P僵尸主机的渗透以及劫持。
僵尸网络的演化及新动向
图4 僵尸网络PC攻击阶段
从僵尸网络开始出现至今,僵尸网络经历了多次发展和改良。按照僵尸网络出现时间顺序,可以将僵尸网络的发展过程划分为PC攻击阶段(1998-2008)和广泛攻击阶段(2009-)。如图4所示为僵尸网络的PC攻击阶段,该阶段主要是僵尸网络以感染网络用户个人终端主机(PC机)为主。如图5所示为僵尸网络广泛攻击阶段。这一阶段的僵尸网络以多类型终端、多类型设备为感染对象。僵尸网络的这两个阶段在感染对象类型、控制命令机制以及攻击行为等方面存在差异。从近些年僵尸网络的发展变化来看,僵尸网络在控制命令机制、传播扩展、影响范围等方面出现了新的变化趋势,首先,控制和命令机制更加隐蔽。为了提高僵尸网络适应新的网络环境,攻击者不断改进僵尸网络控制和命令机制,实现更加隐蔽的控制。攻击者使用HTTP协议作为C&C协议实现命令和控制,与此同时,攻击者使用特殊的寻址方式如DGA或者Random P2P来绕过基于规则的封堵。在僵尸网络协同性方面,为了避免出现大面积主机群体性网络行为而引起网络管理人员的警觉,攻击者往往会弱化僵尸网络的群体性,除非执行大规模定向性攻击如DDoS攻击,因而,僵尸网络也出现了小规模化和局部化特征。其次,传播载体更加广泛。随着互联网的发展和信息技术的进步,网络空间中不断涌现新的智能化元素,如智能家居、物联网设备等。攻击者也会利用这些智能化设备扩充僵尸大军。典型的案例为出现了基于匿名网络Tor的僵尸网络Skynet、基于TDL-4的僵尸网络、基于智能手机的僵尸网络Geinimi、基于移动社交网络的僵尸网络、基于云服务的僵尸网络、基于智能家居的僵尸网络Thingsbots、基于物联网设备的僵尸网络Mirai等。
图5 僵尸网络广泛攻击阶段
最后,僵尸网络恶意行为更加多元化。僵尸网络主要是为了完成攻击者的恶意目的来构建和实现的攻击平台。在当今互联网新技术、新应用不断涌现的时期,僵尸网络的恶意行为也变得更加多元化。僵尸网络的攻击行为与金融犯罪紧密联系,僵尸网络的攻击行为与隐私犯罪紧密联系,僵尸网络的攻击行为与政治敌对紧密联系。
僵尸网络对抗
僵尸网络对抗问题一直是安全社区的热门话题。而僵尸网络对抗工作可以分为僵尸网络检测和僵尸网络遏制,检测工作旨在发现僵尸主机、通信活动、C&C服务器,而遏制工作则注重利用主动清除手段将僵尸网络威胁降到最低。
僵尸网络检测
根据不同的分类标准以及不同的角度,僵尸网络检测有多种分类方法,如按照僵尸网络架构的检测方法分类,按照僵尸网络控制和命令协议的检测方法分类等。本文将僵尸网络检测方法按照检测技术出现的时序更迭大致分为两大类:基于蜜网的检测技术和基于入侵检测系统(IDS)的检测技术。基于入侵检测系统的僵尸网络检测方法又出现了很多分支如基于行为的检测方法和基于混合方式的检测方法。总得说来,僵尸网络检测方法的分类大致如图6所示。各种方法的对比情况如表格1所示。
图6 僵尸网络检测技术
表1僵尸网络检测方法对比情况
僵尸网络遏制
图7僵尸网络遏制方法
通过检测分析掌握了僵尸网络相关信息后,研究人员需要联合有关组织和部门、运用技术手段对僵尸网络传播和通信进行对抗,该种行为通常称为遏制(Mitigation),如图7所示,常见手段包括终端清除、命令控制过程对抗以及命令控制服务器打击三类。
终端清除主要指清除已感染终端的僵尸程序。防御人员可以通过挖掘并利用僵尸程序自身漏洞来实现清除,而更加通用的做法是联合大型反病毒公司、系统厂商以及互联网服务提供商(ISP)对感染终端进行定位,帮助用户进行清理。
僵尸网络通信协议在实现过程中可能存在某些脆弱点,比如单点失效问题、控制者身份未识别、命令时效性未校验等。防御人员利用该类缺陷不仅可干扰和阻断僵尸网络的正常命令下发,甚至可以接管其控制权,该类方法统称为命令控制过程对抗技术。对于P2P僵尸网络而言,常用对抗手段包括索引污染、Sybil攻击以及peer list污染3种。对于中心结构僵尸网络,防御人员可以利用sinkhole的思想将C&C域名指向自主可控的资源,实现僵尸网络的测量或劫持。
直接打击C&C服务器也是常见的对抗手段之一,具体方法包括:1)物理关闭,联合网络服务提供商直接取缔和关闭C&C服务器,但攻击者可通过重新搭建来恢复控制;2)DoS攻击,安全人员向僵尸网络C&C服务器或关键节点发起DoS攻击,延缓僵尸主机正常获取指令时间,降低其可用性。
总结
僵尸网络作为复杂灵活的网络攻击平台,对未来互联网安全带来极大隐患。本文主要对僵尸网络的命令控制信道、僵尸网络的演化及新动向、僵尸网络对抗进行阐述,通过对僵尸网络的浅析介绍,可以对僵尸网络进行初步了解,为有效预测未来僵尸网络发展动向以及积极应对僵尸网络引发的安全威胁做好准备。
参考文献
[1] Feily M, Shahrestani A, Ramadass S. A survey of botnet and botnet detection[C]//2009 Third International Conference on Emerging Security Information, Systems and Technologies. IEEE, 2009: 268-273.
[2] 李可,方滨兴,崔翔,刘奇旭.僵尸网络发展研究[J].计算机研究与发展,2016,53(10):2189-2206.
[3] Silva S S C, Silva R M P, Pinto R C G, et al. Botnets: A survey[J]. Computer Networks, 2013, 57(2): 378-403.
中国保密协会
科学技术分会
长按扫码关注我们
作者:齐 标 大象无形
责编:何 洁
往期精彩文章TOP5回顾
近期精彩文章回顾